//#include<iostream>
//#include<vector>
//#include<stack>
//using namespace std;
//int n = 1;
//int main()
//{
//	while (1)
//	{
//		cin >> n;
//		if (n == 0) return 0;
//		while (1)
//		{
//			vector<int> v;
//			v.resize(n, 0);
//			cin >> v[0];
//			if (v[0] == 0) break;
//			for (int i = 1; i < n; i++) cin >> v[i];
//			stack<int> st; int sign = 0;
//			for (int i = 1; i <= n; i++)
//			{
//				st.push(i);
//				while ((!st.empty()) && st.top() == v[sign])
//				{
//					st.pop();
//					sign++;
//				}
//			}
//			if (sign == n) printf("Yes\n");
//			else printf("No\n");
//		}
//		cout << endl;
//	}
//	return 0;
//}

//#include<iostream>
//#include<list>
//using namespace std;
//int n, m;
//int main()
//{
//	cin >> n >> m;
//	list<int> l;
//	for (int i = 1; i <= n; i++) l.push_back(i);
//	int i = 0;
//	while (l.size() != 1)
//	{
//		list<int>::iterator it = l.begin();
//		while (it!=l.end())
//		{
//			i++;
//			if (i == m)
//			{
//				i = 0;
//				cout << *it << " ";
//				it = l.erase(it);
//			}
//			else ++it;
//		}
//	}
//	cout << l.back() << endl;
//	return 0;
//}
